build: Enable -Wswitch-enum and -Wswitch-default
authorBenjamin Otte <otte@redhat.com>
Fri, 6 Oct 2017 19:19:42 +0000 (21:19 +0200)
committerBenjamin Otte <otte@redhat.com>
Fri, 6 Oct 2017 19:23:39 +0000 (21:23 +0200)
commit43c212ac28f5f80e10c49590e569b6450098743f
treeae5210d90f79d313d3b4c88c88f5e00b87405e0e
parent2ac66328a3edc0838c19b49fcb9468c473936c9c
build: Enable -Wswitch-enum and -Wswitch-default

This patch makes that work using 1 of 2 options:

1. Add all missing enums to the switch statement
  or
2. Cast the switch argument to a uint to avoid having to do that (mostly
   for GdkEventType).

I even found a bug while doing that: clearing a GtkImage with a surface
did not notify thae surface property.

The reason for enabling this flag even though it is tedious at times is
that it is very useful when adding values to an enum, because it makes
GTK immediately warn about all the switch statements where this enum is
relevant.
And I expect changes to enums to be frequent during the GTK4 development
cycle.
113 files changed:
gdk/broadway/gdkwindow-broadway.c
gdk/gdkdevice.c
gdk/gdkdnd.c
gdk/gdkevents.c
gdk/gdkframeclockidle.c
gdk/gdkgl.c
gdk/gdkkeys.c
gdk/gdkseatdefault.c
gdk/gdkvulkancontext.c
gdk/gdkwindow.c
gdk/wayland/gdkdevice-wayland.c
gdk/wayland/gdkdnd-wayland.c
gdk/wayland/gdkkeys-wayland.c
gdk/wayland/gdkscreen-wayland.c
gdk/wayland/gdkwindow-wayland.c
gdk/x11/gdkasync.c
gdk/x11/gdkdevice-xi2.c
gdk/x11/gdkdevicemanager-xi2.c
gdk/x11/gdkdisplay-x11.c
gdk/x11/gdkdnd-x11.c
gdk/x11/gdkkeys-x11.c
gdk/x11/gdkmain-x11.c
gdk/x11/gdkvisual-x11.c
gdk/x11/gdkwindow-x11.c
gsk/gskglrenderer.c
gsk/gskrenderer.c
gsk/gskvulkanclip.c
gsk/gskvulkanrenderpass.c
gtk/a11y/gtkimageaccessible.c
gtk/gtkbbox.c
gtk/gtkbindings.c
gtk/gtkbookmarksmanager.c
gtk/gtkbox.c
gtk/gtkcalendar.c
gtk/gtkcellrenderertext.c
gtk/gtkcenterbox.c
gtk/gtkcombobox.c
gtk/gtkcontainer.c
gtk/gtkcsscolorvalue.c
gtk/gtkcssimagebuiltin.c
gtk/gtkcssstyle.c
gtk/gtkcssstylefuncs.c
gtk/gtkcsstypes.c
gtk/gtkcsswin32sizevalue.c
gtk/gtkdnd.c
gtk/gtkentry.c
gtk/gtkeventcontrollerscroll.c
gtk/gtkexpander.c
gtk/gtkfilechooserbutton.c
gtk/gtkfilechooserentry.c
gtk/gtkfilechoosernative.c
gtk/gtkfilechooserwidget.c
gtk/gtkfilefilter.c
gtk/gtkfilesystemmodel.c
gtk/gtkflowbox.c
gtk/gtkfontbutton.c
gtk/gtkgesture.c
gtk/gtkgesturesingle.c
gtk/gtkgrid.c
gtk/gtkiconhelper.c
gtk/gtkicontheme.c
gtk/gtkiconview.c
gtk/gtkimage.c
gtk/gtkkineticscrolling.c
gtk/gtklabel.c
gtk/gtklistbox.c
gtk/gtkmain.c
gtk/gtkmenu.c
gtk/gtkmenubar.c
gtk/gtkmenubutton.c
gtk/gtkmenuitem.c
gtk/gtkmenushell.c
gtk/gtknotebook.c
gtk/gtkoverlay.c
gtk/gtkpadcontroller.c
gtk/gtkpagesetupunixdialog.c
gtk/gtkpaned.c
gtk/gtkpango.c
gtk/gtkpathbar.c
gtk/gtkplacessidebar.c
gtk/gtkpopover.c
gtk/gtkprinteroptionwidget.c
gtk/gtkprintoperation-portal.c
gtk/gtkprintoperation-unix.c
gtk/gtkprintoperation.c
gtk/gtkprintutils.c
gtk/gtkrange.c
gtk/gtkrecentfilter.c
gtk/gtkrecentmanager.c
gtk/gtkrender.c
gtk/gtkrevealer.c
gtk/gtkscale.c
gtk/gtkscrolledwindow.c
gtk/gtksettings.c
gtk/gtkshortcutsshortcut.c
gtk/gtkspinbutton.c
gtk/gtkstack.c
gtk/gtktextbuffer.c
gtk/gtktextbufferserialize.c
gtk/gtktextlayout.c
gtk/gtktexttag.c
gtk/gtktextview.c
gtk/gtktoolbar.c
gtk/gtktoolbutton.c
gtk/gtktoolitemgroup.c
gtk/gtktooltip.c
gtk/gtktreeselection.c
gtk/gtktreeview.c
gtk/gtktreeviewcolumn.c
gtk/gtkwidget.c
gtk/gtkwindow.c
gtk/inspector/recorder.c
meson.build